# install Flask : pip install Flask et pip install Flask-Cors
from flask import Flask, request, jsonify
from flask_cors import CORS
import subprocess
import os
import shutil

app = Flask(__name__)
CORS(app)  # Pour gérer les requêtes CORS

@app.route('/run-downloader', methods=['POST'])
def run_downloader():
    result = request.json.get('result')
    if result:
        exe_path = os.path.join('Tools', 'N_m3u8DL-RE.exe')
        command = f'cmd /c "{exe_path}" " {result}"'  # l'espace supplémentaire
        try:
            subprocess.run(command, shell=True, check=True)
            return jsonify({'status': 'success'})
        except subprocess.CalledProcessError as e:
            return jsonify({'status': 'error', 'message': str(e)}), 500
    return jsonify({'status': 'error', 'message': 'URL manquante'}), 400

@app.route('/delete-logs', methods=['DELETE'])
def delete_logs():
    logs_directory = os.path.join('Tools', 'Logs')
    if os.path.exists(logs_directory) and os.path.isdir(logs_directory):
        try:
            shutil.rmtree(logs_directory)  # Supprimer le dossier et son contenu
            return jsonify({'status': 'success', 'message': 'Dossier Logs supprimé avec succès.'}), 200
        except Exception as e:
            logging.error(f"Erreur lors de la suppression des logs : {e}")
            return jsonify({'status': 'error', 'message': str(e)}), 500
    # Si le dossier n'existe pas, ne rien faire et ne pas renvoyer de message d'erreur
    return jsonify({'status': 'success', 'message': 'Le dossier Logs n\'existe pas, aucune action nécessaire.'}), 200

if __name__ == '__main__':
    app.run(port=5000)  # Vous pouvez changer le port si nécessaire
